package com.zhu.commentstatisticspublisher.mapper;
import com.zhu.commentstatisticspublisher.bean.UserEvaluate;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * mapper
 */
public interface EmotionRecognitionMapper {


    /**
     * 用户提交评论
     * @param user  用户名 ID
     * @param comment  评论
     * @param emotionModelResult 情感
     * @param createTime 提交时间
     * @return
     */
    //插入用户评论 由于功能较少, 数据层接口都写到一个mapper
    @Insert("insert into comment_emotions (user_id,comment,emotion,create_time) values( #{user_id},#{comment},#{emotionVal},#{create_time} )")
    Integer commentsSubmit(
            @Param("user_id") String user,
            @Param("comment") String comment,
            @Param("emotionVal") String emotionModelResult,
            @Param("create_time") String createTime);

    //查询 正向&负向情感的用户
    @Select("select * from comment_emotions where emotion = #{emotionVal} and date_format(create_time,'%Y-%m-%d') = #{date}")
    List<UserEvaluate> getEvaluateUsers(@Param("emotionVal") String emotionVal, @Param("date") String date);


    //关键词分析 数据应该存放到大数据存储框架 Hive 这里数据量小 就直接从mysql中读取.
    //业务系统只负责 增删改查 复杂的数据处理不应该写在这里 业务数据到mysql 处理后的指标数据写入OLAP平台 这里还是用的mysql
    @Select("select * from comment_emotions where emotion = #{emotionVal}")
    List<UserEvaluate> getcommentKeyWord(@Param("emotionVal") String emotionVal);
}
